package br.com.salao.session;

import java.util.List;

import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import br.com.salao.ejb.dao.ServicosFuncionarioDao;
import br.com.salao.ejb.dao.impl.ServicosFuncionarioDaoImpl;
import br.com.salao.entity.FuncionarioServicos;

@Stateless
@Remote(ServicosFuncionarioBase.class)
public class ServicosFuncionarioBean implements ServicosFuncionarioBase {

	/**
	 * @author Dri
	 */
	private static final long serialVersionUID = 1L;

	@PersistenceContext(unitName = "SalaoBeleza")
	private EntityManager em;

	public ServicosFuncionarioBean(){
		//em = JpaUtil.getEntityManager();	
	}	

	@TransactionAttribute
	public FuncionarioServicos incluir(FuncionarioServicos funcionarioServicos){
		ServicosFuncionarioDao dao = new ServicosFuncionarioDaoImpl(em);
		return dao.incluir(funcionarioServicos);
	}

	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public List<FuncionarioServicos> buscarServicoPorIdEstabelecimentoEIdFuncionario(int idEstabelecimento, int idFuncionario){
		ServicosFuncionarioDao dao = new ServicosFuncionarioDaoImpl(em);
		return dao.buscarServicoPorIdEstabelecimentoEIdFuncionario(idEstabelecimento, idFuncionario);		
	}

	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public List<FuncionarioServicos> buscarServicoFuncionarioPorIdEstabelecimento(int idEstabelecimento){
		ServicosFuncionarioDao dao = new ServicosFuncionarioDaoImpl(em);
		return dao.buscarServicoFuncionarioPorIdEstabelecimento(idEstabelecimento);
	}

	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
	public List<FuncionarioServicos> buscarServicoPorIdEstabelecimentoEIdFuncionarioEIdServico(
			int idEstabelecimento, int idFuncionario, int idServico) {
		ServicosFuncionarioDao dao = new ServicosFuncionarioDaoImpl(em);
		return dao.buscarServicoPorIdEstabelecimentoEIdFuncionarioEIdServico(idEstabelecimento, idFuncionario, idServico);
	}

}
